bors [Mon, 17 Nov 2014 23:59:34 +0000 (23:59 +0000)]
auto merge of #899 : linkmauve/cargo/master, r=alexcrichton
Emmanuel Gil Peyrot [Mon, 17 Nov 2014 20:21:06 +0000 (21:21 +0100)]
Directly use python’s urllib instead of curl in etc/dl-snapshot.py
bors [Mon, 17 Nov 2014 18:44:30 +0000 (18:44 +0000)]
auto merge of #896 : jgillich/cargo/patch-3, r=alexcrichton
Currently the command output looks like this on Fedora:
```
$ curl https://static.rust-lang.org/rustup.sh | sudo bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9866 100 9866 0 0 39592 0 --:--:-- --:--:-- --:--:-- 39622[sudo] password for jakob:
```
The first time I ran it, I didn't even realize it is asking for a password. By using the options for `silent` and `show-error`, we get this:
```
$ curl -sS https://static.rust-lang.org/rustup.sh | sudo bash
[sudo] password for jakob:
```
And errors are still displayed:
```
$ curl -sS https://example.invalid | sudo bash
curl: (6) Could not resolve host: example.invalid
[sudo] password for jakob:
```
Jakob Gillich [Mon, 17 Nov 2014 18:16:50 +0000 (19:16 +0100)]
hide curl progress output
bors [Mon, 17 Nov 2014 16:59:25 +0000 (16:59 +0000)]
auto merge of #891 : ruud-v-a/cargo/patch-1, r=alexcrichton
The homepage was linking to outdated nightlies. This had been fixed in the readme, but not on the actual website.
Ruud van Asseldonk [Sun, 16 Nov 2014 22:19:29 +0000 (23:19 +0100)]
Fix Windows nightly links.
The homepage was linking to outdated nightlies. This had been fixed in the readme, but not on the actual website.
bors [Sun, 16 Nov 2014 01:29:24 +0000 (01:29 +0000)]
auto merge of #881 : eerden/cargo/zsh-completion-improvements, r=alexcrichton
Some small improvements:
Add test name completion from Cargo.toml
Add package name completion from Cargo.toml
Rename `--name` to `--\<target-name\>`
Ercan Erden [Sat, 15 Nov 2014 00:17:26 +0000 (19:17 -0500)]
Improve zsh completion
Add test name completion from Cargo.toml
Add package name completion from Cargo.toml
Rename --name to --<target-name>
bors [Sat, 15 Nov 2014 07:08:58 +0000 (07:08 +0000)]
auto merge of #878 : alexcrichton/cargo/update-curl, r=brson
Closes #873
Alex Crichton [Fri, 14 Nov 2014 22:52:22 +0000 (14:52 -0800)]
Update curl-rust to fix SSL on windows
Closes #873
bors [Fri, 14 Nov 2014 23:33:33 +0000 (23:33 +0000)]
auto merge of #865 : alexcrichton/cargo/no-more-name, r=brson
With #843 and #839 coming around the bend soon, the original decision for
`--name` everywhere isn't making as much sense, for consistence this is renaming
these flags back to `--<target-name>` for the respective targets.
bors [Fri, 14 Nov 2014 22:44:28 +0000 (22:44 +0000)]
auto merge of #861 : alexcrichton/cargo/issue-800, r=brson
This commit is an architectural change inside of Cargo itself in the way that it
handles the output format of builds. Previously when a build start, all existing
directories and files would be renamed to `old-foo` folders. The build would
then `rename` all files back into the right location as they were seen as fresh
and needed for the build.
The benefit of a system such as this is a rock-solid guarantee that the build
tree contains exactly what it would if we were to start the build from a totally
clean directory each time. There are some downsides, however:
* In #800, it was discovered that this method has an unfortunate interaction
with Docker. Docker apparently will mount many filesystems which `rename` will
not work across.
* I have seen countless flaky failures on windows due to an attempt to remove a
file that was still in use somehow. I've never been able to truly track down
why these failures are happening, however.
The new system for managing output files is to build up a list of all known
files at the start of a build, whitelist any necessary files when the build is
being prepared, and then wipe out all unknown files right before the build
begins. This is not quite as close to the guarantee as the benefits reaped
before because on the second build all build files will still be in their final
output locations, they may just get updated as part of the build as well. This
seems like an acceptable compromise, however.
Closes #800
Alex Crichton [Thu, 13 Nov 2014 05:35:33 +0000 (21:35 -0800)]
Stop shuffling output files around so often
This commit is an architectural change inside of Cargo itself in the way that it
handles the output format of builds. Previously when a build start, all existing
directories and files would be renamed to `old-foo` folders. The build would
then `rename` all files back into the right location as they were seen as fresh
and needed for the build.
The benefit of a system such as this is a rock-solid guarantee that the build
tree contains exactly what it would if we were to start the build from a totally
clean directory each time. There are some downsides, however:
* In #800, it was discovered that this method has an unfortunate interaction
with Docker. Docker apparently will mount many filesystems which `rename` will
not work across.
* I have seen countless flaky failures on windows due to an attempt to remove a
file that was still in use somehow. I've never been able to truly track down
why these failures are happening, however.
The new system for managing output files is to build up a list of all known
files at the start of a build, whitelist any necessary files when the build is
being prepared, and then wipe out all unknown files right before the build
begins. This is not quite as close to the guarantee as the benefits reaped
before because on the second build all build files will still be in their final
output locations, they may just get updated as part of the build as well. This
seems like an acceptable compromise, however.
Closes #800
bors [Fri, 14 Nov 2014 21:29:30 +0000 (21:29 +0000)]
auto merge of #839 : vhbit/cargo/lib-only, r=alexcrichton
Fixes #724
Valerii Hiora [Tue, 11 Nov 2014 12:59:06 +0000 (14:59 +0200)]
Build only lib from package
Fixes #724
bors [Fri, 14 Nov 2014 17:14:33 +0000 (17:14 +0000)]
auto merge of #868 : IanConnolly/cargo/backtick_fix, r=alexcrichton
19:09 < ianconnolly> hey, i was browsing the cargo code, any particular reason why this string is mixed backticks + straight apostrophes?
https://github.com/rust-lang/cargo/blob/master/src/bin/cargo.rs#L157
19:10 < acrichto> ianconnolly: oh I think I missed that, it should probably just be `{}` like the rest of cargo
Ian Connolly [Thu, 13 Nov 2014 19:12:08 +0000 (19:12 +0000)]
Missed backtick fix
bors [Fri, 14 Nov 2014 05:14:34 +0000 (05:14 +0000)]
auto merge of #866 : eerden/cargo/shell-completion-zsh, r=alexcrichton
Adds zsh autocomplete support for cargo command.
bors [Fri, 14 Nov 2014 03:44:36 +0000 (03:44 +0000)]
auto merge of #870 : huonw/cargo/alex++, r=wycats
bors [Fri, 14 Nov 2014 01:46:01 +0000 (01:46 +0000)]
auto merge of #863 : alexcrichton/cargo/issue-855, r=huonw
This provides a method of listing the files that will be in a package without
actually creating one.
Closes #855
bors [Fri, 14 Nov 2014 01:29:40 +0000 (01:29 +0000)]
auto merge of #845 : jbranchaud/cargo/add-missing-semicolon-for-new-project-main, r=alexcrichton
When you run `cargo new project-name --bin`, a project is generated by cargo
with a file, `src/main.rs`. This file has a main function with one line that
prints hello, world, but a semicolon is missing from the end of the
expression.
Alex Crichton [Thu, 13 Nov 2014 06:28:30 +0000 (22:28 -0800)]
Implement -l/--list for `cargo package`
This provides a method of listing the files that will be in a package without
actually creating one.
Closes #855
bors [Thu, 13 Nov 2014 23:44:42 +0000 (23:44 +0000)]
auto merge of #854 : alexcrichton/cargo/crates-io-dox, r=steveklabnik
Rendered: http://alexcrichton.com/cargo/crates-io.html
cc @steveklabnik, @wycats
Huon Wilson [Thu, 13 Nov 2014 23:08:17 +0000 (10:08 +1100)]
Add Alex to the authors.
bors [Thu, 13 Nov 2014 22:45:53 +0000 (22:45 +0000)]
auto merge of #864 : tomaka/cargo/fix-814, r=alexcrichton
Close #814
Unfortunately I don't really know how I'd add a test for this.
In order to try compile a library then a binary, you need to successfully compile the library, which means that you'd need to pass a valid value instead of just `-l foo`
bors [Thu, 13 Nov 2014 22:14:45 +0000 (22:14 +0000)]
auto merge of #862 : alexcrichton/cargo/issue-858, r=huonw
Closes #858
bar [Thu, 13 Nov 2014 19:36:27 +0000 (14:36 -0500)]
Update Makefile.in for installation
bors [Thu, 13 Nov 2014 19:23:05 +0000 (19:23 +0000)]
auto merge of #842 : alexcrichton/cargo/issue-838, r=brson
A package can be required to be built for both the host and target architectures
in some cases. For example a crate could be a normal dependency and a build
dependency. Cargo specially handles this case with respect to the build script
to ensure that the build script is run once per output platform.
Cargo also has logic, however, to run the build script only once when the target
and host platforms are the same. In this case Cargo previously wasn't filling in
the local build script output cache for both the host and target platforms, just
the target platform. This commit remedies this situation by ensuring that cargo
populates both the host and target locations in the cache.
Closes #838
bors [Thu, 13 Nov 2014 19:07:46 +0000 (19:07 +0000)]
auto merge of #859 : alexcrichton/cargo/issue-856, r=alexcrichton
I don't really expect all builders of cargo to be forced to use this rustc, and
I expect this to update frequently, but it will allow cargo PRs to land without
forcing a "put out the fires" fix for all nightly incompatibilities all at once.
This will allow rust upgrades to land separately and be reviewed separately.
Closes #856
Alex Crichton [Thu, 13 Nov 2014 00:05:33 +0000 (16:05 -0800)]
Pin rustc to a date with known snapshots
I don't really expect all builders of cargo to be forced to use this rustc, and
I expect this to update frequently, but it will allow cargo PRs to land without
forcing a "put out the fires" fix for all nightly incompatibilities all at once.
This will allow rust upgrades to land separately and be reviewed separately.
bar [Thu, 13 Nov 2014 06:50:03 +0000 (01:50 -0500)]
Add zsh completion
Alex Crichton [Thu, 13 Nov 2014 17:37:09 +0000 (09:37 -0800)]
Rename --name flags to --<target-name>
With #843 and #839 coming around the bend soon, the original decision for
`--name` everywhere isn't making as much sense, for consistence this is renaming
these flags back to `--<target-name>` for the respective targets.
Pierre Krieger [Thu, 13 Nov 2014 15:34:11 +0000 (16:34 +0100)]
-l flag no longer pass to binaries if there's a library in the package
Alex Crichton [Wed, 12 Nov 2014 22:51:37 +0000 (14:51 -0800)]
Add documentation about crates.io usage
Alex Crichton [Thu, 13 Nov 2014 06:15:41 +0000 (22:15 -0800)]
Implement a command to list owners of a crate
Closes #858
bors [Thu, 13 Nov 2014 03:29:37 +0000 (03:29 +0000)]
auto merge of #844 : alexcrichton/cargo/less-registry, r=brson
Try to purge the word "registry" as much as possible in favor of just referring
to crates.io as "crates.io". This also enables the default index as being the
official rust-lang crates.io index.
bors [Thu, 13 Nov 2014 01:50:43 +0000 (01:50 +0000)]
auto merge of #857 : alexcrichton/cargo/update, r=alexcrichton
We don't want to use the bundled gcc and the bundling location has changed since when this was originally written.
Alex Crichton [Tue, 11 Nov 2014 19:59:31 +0000 (11:59 -0800)]
Fix a panic when building with build scripts
A package can be required to be built for both the host and target architectures
in some cases. For example a crate could be a normal dependency and a build
dependency. Cargo specially handles this case with respect to the build script
to ensure that the build script is run once per output platform.
Cargo also has logic, however, to run the build script only once when the target
and host platforms are the same. In this case Cargo previously wasn't filling in
the local build script output cache for both the host and target platforms, just
the target platform. This commit remedies this situation by ensuring that cargo
populates both the host and target locations in the cache.
Closes #838
Alex Crichton [Thu, 13 Nov 2014 00:00:00 +0000 (16:00 -0800)]
The bundled gcc has moved locations
Pierre Krieger [Wed, 12 Nov 2014 12:12:02 +0000 (13:12 +0100)]
Fix OUT_DIR not being passed to rustdoc
jbranchaud [Wed, 12 Nov 2014 05:00:05 +0000 (23:00 -0600)]
Add the semicolon missing from the generated main.rs contents.
When you run `cargo new project-name --bin`, a project is generated by cargo
with a file, `src/main.rs`. This file has a main function with one line that
prints hello, world, but a semicolon is missing from the end of the
expression.
bors [Tue, 11 Nov 2014 22:44:53 +0000 (22:44 +0000)]
auto merge of #817 : alexcrichton/cargo/build-cmd, r=brson
This registers a new cargo snapshot as well as updates all dependencies to versions that are using build scripts. This means that overrides can now be used when looking for native libs for cargo!
This also modifies the behavior of `--enable-nightly` to add some extra configuration the buildbot needs to build cargo on CentOS.
Alex Crichton [Thu, 6 Nov 2014 17:17:34 +0000 (09:17 -0800)]
Upgrade all deps to using build scripts
bors [Tue, 11 Nov 2014 22:29:36 +0000 (22:29 +0000)]
auto merge of #827 : DiamondLovesYou/cargo/master, r=alexcrichton
Richard Diamond [Tue, 11 Nov 2014 20:51:27 +0000 (14:51 -0600)]
Don't count custom compile scripts as targets.
Alex Crichton [Tue, 11 Nov 2014 20:24:50 +0000 (12:24 -0800)]
Update the UI around using crates.io
Try to purge the word "registry" as much as possible in favor of just referring
to crates.io as "crates.io". This also enables the default index as being the
official rust-lang crates.io index.
bors [Tue, 11 Nov 2014 19:17:49 +0000 (19:17 +0000)]
auto merge of #840 : alexcrichton/cargo/new-docs, r=brson
Rendered version: http://alexcrichton.com/cargo/
Closes https://github.com/rust-lang/crates.io/issues/14
bors [Tue, 11 Nov 2014 18:59:12 +0000 (18:59 +0000)]
auto merge of #829 : alexcrichton/cargo/less-paniks, r=brson
Unused overrides previously led to a panic, and build cmd outputs were cached in the *host* location instead of the *target* location.
Alex Crichton [Fri, 24 Oct 2014 00:26:41 +0000 (17:26 -0700)]
Tweak doc style to match crates.io
bors [Tue, 11 Nov 2014 04:59:34 +0000 (04:59 +0000)]
auto merge of #828 : alexcrichton/cargo/issue-821, r=brson
They don't have any! We also care more about the other targets regardless.
Closes #821
Alex Crichton [Mon, 10 Nov 2014 17:52:14 +0000 (09:52 -0800)]
Cache build output in the target build directory
Placing it in the host directory may end up later on down the road causing a
spurious recompilation when one isn't necessary. I couldn't currently think of a
test case for this, as I don't think that this affects correctness.
bors [Tue, 11 Nov 2014 01:59:36 +0000 (01:59 +0000)]
auto merge of #816 : alexcrichton/cargo/issue-812, r=brson
Closes #812
Alex Crichton [Mon, 10 Nov 2014 17:36:36 +0000 (09:36 -0800)]
Don't panic on unused overrides
This previously did a failing hashtable lookup when an `Option`-returning `get`
would suffice.
Alex Crichton [Mon, 10 Nov 2014 17:22:04 +0000 (09:22 -0800)]
Don't look at custom build targets for output locs
They don't have any! We also care more about the other targets regardless.
Closes #821
bors [Mon, 10 Nov 2014 16:44:36 +0000 (16:44 +0000)]
auto merge of #826 : tomaka/cargo/update-links-readme, r=alexcrichton
Pierre Krieger [Mon, 10 Nov 2014 12:44:28 +0000 (13:44 +0100)]
Update links to windows nightlies in the README
bors [Sun, 9 Nov 2014 19:59:34 +0000 (19:59 +0000)]
auto merge of #823 : DiamondLovesYou/cargo/master, r=alexcrichton
Richard Diamond [Sun, 9 Nov 2014 02:56:49 +0000 (20:56 -0600)]
Respect Target target vs host exe suffix distinction.
Alex Crichton [Fri, 7 Nov 2014 21:40:36 +0000 (13:40 -0800)]
Clarify the documentation on `cargo test`
Closes #812
bors [Fri, 7 Nov 2014 21:15:52 +0000 (21:15 +0000)]
auto merge of #815 : alexcrichton/cargo/another-fix-oh-by-wait-i-verified-this-one-its-ok, r=alexcrichton
Previously the host/target requirement for packages was not correctly calculated
as dependency edges to build dependencies weren't traversed by accident.
Alex Crichton [Fri, 7 Nov 2014 20:59:44 +0000 (12:59 -0800)]
Another fix for cross-compiled build scripts
Previously the host/target requirement for packages was not correctly calculated
as dependency edges to build dependencies weren't traversed by accident.
bors [Fri, 7 Nov 2014 19:28:57 +0000 (19:28 +0000)]
auto merge of #813 : alexcrichton/cargo/build-cmd-cross-compile, r=brson
These commits contain a number of improvements to the usage of build scripts when cross compiling. A few erroneous assumptions were made to start out with, and this also fixes the long-standing bug of using build scripts in host packages (e.g. plugins and build dependencies).
Alex Crichton [Fri, 7 Nov 2014 19:09:59 +0000 (11:09 -0800)]
Fix build scripts and double-compiled packages
This commit fixes support for build scripts in packages which are compiled for
both the host and target architectures. The support was previously hindered by
the fact that the build script was always invoked precisely once for the target
architecture unconditionally.
This adds support for build scripts themselves to depend on build scripts, and
everything should "just work" if build scripts respect their environment
variables.
Alex Crichton [Fri, 7 Nov 2014 17:25:25 +0000 (09:25 -0800)]
Fix cross compiling with a build script
Previously there was a mixup of where the build script was getting compiled into
as well as where the output was going to. This commit fixes the problems for
now, but still has room for improvement in the future.
Build scripts themselves are now unconditionally built into `target/build/..`
because they're compiled for the host platform. Their outputs are in
`target/$target/build/..` as expected.
bors [Fri, 7 Nov 2014 16:52:47 +0000 (16:52 +0000)]
auto merge of #798 : alexcrichton/cargo/issue-777, r=brson
At the same time this commit renames the `.tar.gz` extension to `.crate`. This
helps our perception on Windows as we're not trying to leave them out in the
dark, and we'd also like the ability to modify the format later in the future.
Closes #777
bors [Fri, 7 Nov 2014 16:32:17 +0000 (16:32 +0000)]
auto merge of #811 : alexcrichton/cargo/update, r=alexcrichton
Need to land them all as one unit to actually pass the whole test suite.
Alex Crichton [Fri, 7 Nov 2014 06:38:26 +0000 (22:38 -0800)]
Update with breaking changes from tonight's nigthly
Alex Crichton [Thu, 6 Nov 2014 16:58:01 +0000 (08:58 -0800)]
Pass `-C prefer-dynamic` for dylib dependencies
Alex Crichton [Thu, 6 Nov 2014 16:56:34 +0000 (08:56 -0800)]
Fix a tidy issue with src/bin/cargo.rs
Alex Crichton [Thu, 6 Nov 2014 16:50:51 +0000 (08:50 -0800)]
Merge branch 'args' of https://github.com/ebfe/cargo into update
Alex Crichton [Thu, 6 Nov 2014 16:49:16 +0000 (08:49 -0800)]
Merge branch 'add-did-you-mean' of https://github.com/pwoolcoc/cargo into update
Alex Crichton [Thu, 6 Nov 2014 16:45:58 +0000 (08:45 -0800)]
Merge branch 'fix-build-auth-test.rs' of https://github.com/pwoolcoc/cargo into update
Paul Woolcock [Thu, 6 Nov 2014 02:05:01 +0000 (21:05 -0500)]
Add 'did you mean...' message when a subcommand is not found.
Steve Klabnik [Thu, 6 Nov 2014 13:19:30 +0000 (08:19 -0500)]
update rust-encoding
https://github.com/alexcrichton/toml-rs/pull/28 also needs to be in here to truly fix the build
Paul Woolcock [Thu, 6 Nov 2014 13:08:38 +0000 (08:08 -0500)]
TcpListener::bind now takes 1 argument instead of 2
Michael Gehring [Thu, 6 Nov 2014 09:22:14 +0000 (10:22 +0100)]
Fix infinite recursion when invoked without args
bors [Thu, 6 Nov 2014 00:02:30 +0000 (00:02 +0000)]
auto merge of #799 : alexcrichton/cargo/moar-parallel, r=brson
When building unit tests for a library, we don't need the library itself to be
built beforehand, so the two can be built in parallel. If the crate takes awhile
to compile, this shows some excellent wall-time speedups.
bors [Wed, 5 Nov 2014 23:43:18 +0000 (23:43 +0000)]
auto merge of #804 : alexcrichton/cargo/moar-fixes, r=alexcrichton
Some flaky test improvements as well as some updates to the styling of the docs.
Alex Crichton [Wed, 5 Nov 2014 23:14:30 +0000 (15:14 -0800)]
Fix up some styling on the build-script docs
Alex Crichton [Wed, 5 Nov 2014 23:06:06 +0000 (15:06 -0800)]
Fix some more flaky tests
At the same time, also improve the deprecation message for the old build command
to be a little more descriptive about how to migrate
bors [Wed, 5 Nov 2014 23:02:41 +0000 (23:02 +0000)]
auto merge of #802 : alexcrichton/cargo/issue-801, r=brson
Previously all features were traversed when adding information to the lockfile,
but the traversal forgot to add optional dependencies that did not have a
corresponding feature.
Closes #801
bors [Wed, 5 Nov 2014 22:35:35 +0000 (22:35 +0000)]
auto merge of #803 : alexcrichton/cargo/fix-some-tests, r=alexcrichton
Right now we're accidentally not actually leveraging this function well in some
tests due to this sequence of events:
1. The tests run at time X, building artifacts that remember the fingerprint is
at time X.
2. The entire project is moved back one hour to (X-1).
3. A new file is created, at time X (second-level resolution on some systems).
4. On a rebuild, the maximum mtime is still X (due to the new file).
For this reason there are some more calls to move_into_the_past() to push files
back another hour after they've been created to make sure the maximum mtime is
(X-1), or something different than X.
Alex Crichton [Wed, 5 Nov 2014 22:00:38 +0000 (14:00 -0800)]
More aggresively move_into_the_past for tests
Right now we're accidentally not actually leveraging this function well in some
tests due to this sequence of events:
1. The tests run at time X, building artifacts that remember the fingerprint is
at time X.
2. The entire project is moved back one hour to (X-1).
3. A new file is created, at time X (second-level resolution on some systems).
4. On a rebuild, the maximum mtime is still X (due to the new file).
For this reason there are some more calls to move_into_the_past() to push files
back another hour after they've been created to make sure the maximum mtime is
(X-1), or something different than X.
Alex Crichton [Wed, 5 Nov 2014 03:40:06 +0000 (19:40 -0800)]
Build lib tests and libraries in parallel
When building unit tests for a library, we don't need the library itself to be
built beforehand, so the two can be built in parallel. If the crate takes awhile
to compile, this shows some excellent wall-time speedups.
bors [Wed, 5 Nov 2014 21:13:08 +0000 (21:13 +0000)]
auto merge of #792 : alexcrichton/cargo/build-cmd, r=brson
This series of commits (based on https://github.com/rust-lang/cargo/pull/763) is an implementation of the recent [Cargo RFC](https://github.com/rust-lang/rfcs/blob/master/text/0403-cargo-build-command.md). This should implement all portions of the RFC, but there's a lot so an extra set of eyes would be nice!
I haven't added documentation for it all yet, but I would like to do so before landing (starting with https://github.com/rust-lang/cargo/pull/749). Otherwise I've been migrating all of the existing cargo dependencies away from the build command to a build script, and the progress can be seen with these repositories:
* https://github.com/alexcrichton/gcc-rs
* https://github.com/alexcrichton/pkg-config-rs
* https://github.com/alexcrichton/git2-rs/tree/build-cmd
* https://github.com/alexcrichton/openssl-sys
* https://github.com/alexcrichton/flate2-rs/tree/build-cmd
* https://github.com/alexcrichton/libz-sys
* https://github.com/alexcrichton/ssh2-rs/tree/build-cmd
I haven't quite gotten around to curl just yet, but it's next on my list!
Alex Crichton [Wed, 5 Nov 2014 20:28:00 +0000 (12:28 -0800)]
Fix custom build tests on windows
Alex Crichton [Wed, 5 Nov 2014 02:56:08 +0000 (18:56 -0800)]
Move generated tarballs under target/package
At the same time this commit renames the `.tar.gz` extension to `.crate`. This
helps our perception on Windows as we're not trying to leave them out in the
dark, and we'd also like the ability to modify the format later in the future.
Closes #777
Alex Crichton [Wed, 5 Nov 2014 19:13:04 +0000 (11:13 -0800)]
Be sure to lock purely optional dependencies
Previously all features were traversed when adding information to the lockfile,
but the traversal forgot to add optional dependencies that did not have a
corresponding feature.
Closes #801
Alex Crichton [Tue, 4 Nov 2014 21:20:31 +0000 (13:20 -0800)]
Expand the "link to system libraries" section
Alex Crichton [Tue, 4 Nov 2014 07:20:19 +0000 (23:20 -0800)]
Follow through on the OUT_DIR promise for rustc compiles
Alex Crichton [Tue, 4 Nov 2014 07:20:13 +0000 (23:20 -0800)]
Fix some flaky tests
Alex Crichton [Tue, 4 Nov 2014 06:45:11 +0000 (22:45 -0800)]
Dox fixups
Alex Crichton [Tue, 4 Nov 2014 00:23:42 +0000 (16:23 -0800)]
Fix the build command passing -L/-l without links
Alex Crichton [Mon, 3 Nov 2014 20:08:01 +0000 (12:08 -0800)]
Beef up documentation about build scripts
Pierre Krieger [Thu, 23 Oct 2014 10:48:01 +0000 (12:48 +0200)]
Update documentation for new build command system
Alex Crichton [Sat, 1 Nov 2014 18:51:58 +0000 (11:51 -0700)]
Really fix `cargo test` and fix an OUT_DIR bug
Assorted bug fixes discovered while migrating packages to using this build
command infrastructure.
Alex Crichton [Sat, 1 Nov 2014 02:16:39 +0000 (19:16 -0700)]
Add a test for build commands with build commands
Alex Crichton [Sat, 1 Nov 2014 01:39:39 +0000 (18:39 -0700)]
Implement build-dependencies
This adds a flavor of Dependency for build dependencies. Build dependencies are
only ever used when building build commands themselves.
Alex Crichton [Sat, 1 Nov 2014 00:36:48 +0000 (17:36 -0700)]
Add tests for other cargo cmds + -L propagation
Alex Crichton [Fri, 31 Oct 2014 23:20:13 +0000 (16:20 -0700)]
Ensure fresh build commands populate build info
Whenever a build command is fresh, we need to be sure to propagate its build
information upwards from the cache stored on disk.